package com.yangtao.prototype.system.user.service;
import com.yangtao.prototype.system.organize.service.OrganizeModel;
/**
 * 用户管理接口
 * 
 * @author 杨涛
 * 
 */
public interface UserService {
	/**
	 * @author 胡安令 Date:2011年3月1日12:52:25
	 * @param model
	 * @return
	 * @remark 根据增修查各页面需求加载需要的下拉初始数据列表
	 * 加载出创建用户对应的所有资源：五个list,list1角色：
	 * 加载组织机构下所有角色list，list2组织机构：加载组织机构下所有组织机构list,
	 * 目前不做:(list3仓库:加载组织机构下所有仓库list,list4区域：加载组织机构下所有区域list,list5区域：加载组织机构下所有区域list)
	 * 注：list1,list2一期要做，list3,list4,list5目前不做
	 */
	UserModel loadSelect(UserModel model);
	/**
	 * @author 胡安令 Date:2011年3月1日12:52:25
	 * @param model
	 * @return
	 * @remark 新增用户或修改用户时操作 
	 * 新增: 新增时用户名不能重复，重复需要反馈用户名不能重复信息
	 * 修改: 修改时用户的中文名不能重复
	 */
	UserModel save(UserModel model);
	/**
	 * @author 胡安令 Date:2011年3月1日12:52:25
	 * @param model
	 * @return
	 * @remark 根据用户ID号加载用户单条数据信息
	 */
	UserModel load(UserModel model);
	/**

	 * @param model
	 * @return
	 * @remark 
	 * 加载用户可分配的资源资源包括：
	 * 可分配的角色信息,可分配的组织机构,可分配的数据权限信息
	 */
	UserModel loadPracticableResource(UserModel model);
	/**
	 * @author 胡安令 Date:2011年3月1日12:52:25
	 * @param model
	 * @return
	 * @remark 直接删除,同时要删除一个用户的所有相关信息
	 */
	UserModel delete(UserModel model);
	/**
	 * @author 胡安令 Date:2011年3月1日12:52:25
	 * @param model
	 * @return
	 * @remark 根据用户对象相关数据信息查询符合数据条件分页数据集
	 */
	UserModel list(UserModel model);

}
